//stdafx.h : include file for standard system include files,
//or project specific include files that are used frequently, but
//are changed infrequently
//
//
#pragma once
//
// #include "targetver.h"
//
#define WIN32_LEAN_AND_MEAN             Exclude rarely-used stuff from Windows headers
//
//
#define _USE_MATH_DEFINES 1
#define CGAL_LEDA_VERSION 623
#define DEBUG 1

#ifdef WIN32_API
  #define MATH_API __declspec(dllexport)
  #include <windows.h>
#else
  #undef MATH_API 
  #include <dlfcn.h>
  #include "../include/basicdefs.h"
#endif
//
// #define IDM_DRAW_BORDER                         40016
// #define DRAW_DIAGONALS                           1
// #define long long int64 
// TODO: reference additional headers your program requires here
//
// #include <windows.h>
#include <list>
#include <vector>
#include <map>
#include <queue>
#include <stack>
#include <algorithm>
//#include <cliext/hash_map>
#include "gmp.h"
#include <boost/ptr_container/ptr_vector.hpp>
#include <boost/ptr_container/indirect_fun.hpp>
#include <boost/ptr_container/ptr_list.hpp>
#include <CGAL/basic.h>
#include <CGAL/Cartesian.h>
#include <CGAL/IO/Color.h>
#include <CGAL/Triangulation_euclidean_traits_2.h>
#include <CGAL/Triangulation_default_data_structure_2.h>
#include <CGAL/Triangulation_2.h>
#include <CGAL/Simple_cartesian.h>
#include <CGAL/Regular_triangulation_euclidean_traits_2.h>
#include <CGAL/Regular_triangulation_2.h>
//
//
using namespace CGAL;
//
typedef CGAL::Cartesian<double> Rp;
typedef CGAL::Triangulation_euclidean_traits_2<Rp> Gt;
typedef CGAL::Triangulation_vertex_base_2<Gt> Vb;
typedef CGAL::Triangulation_face_base_2<Gt> Fb;
typedef CGAL::Triangulation_default_data_structure_2<Gt,Vb,Fb > Tds;
typedef CGAL::Triangulation_2<Gt,Tds> CgalTriangulation;
typedef CgalTriangulation::Face_handle Face_handle;
typedef CgalTriangulation::Face_iterator Face_iterator;
typedef CgalTriangulation::Finite_faces_iterator Finite_face_iterator;
typedef CgalTriangulation::Vertex_handle Vertex_handle;
typedef CGAL::Point_2<Rp>  Point;
//
#include "math.h"
//#include "configuration.h"
#include "structures.h"
#include "doublelist.h"
#include "triangle.h"
#include "linearfunction.h"
#include "gtriangulate.h"
#include "face.h"
#include "trianglefactory.h"
// #include "ocidl.h"
#include "vector2d.h"
#include "vector3d.h"
#include "figure2d.h"
#include "searchtree.h"
#include "helper.h"
#include "convex.h"
#include "triangulation.h"
//
